var t = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    iconsUrl:t.globalData.iconsUrl,
    countList:[], 
    pageSize:500,
    list:[],
    page:1,// 当前页码
    last_page:1,
    totalCount:0,//总条数
    scrollHeight: null,
    no_more: false, // 没有更多数据
    isLoading: true, // 是否正在加载中
    isScrollAble:true,
    refreshOpen:true, //下拉刷新/下拉复位
    refreshstatus:true, //是否开启下拉刷新
    type:1,
    search:"",
    //  
    userinfo:{}, 
    lat:'',
    lon:'',
    markers: [],
    lat1:'',
    lon1:'',
    store_id:'',//选中得门店id
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setListHeight()
    let that = this;
    that.setData({
      page:1,
      last_page:1,
      no_more: false, // 没有更多数据
      isLoading: true, // 是否正在加载中
    });
    // 
    wx.login({
      success: res => {
        t.request('/login',{code:res.code},function(r){
          t.globalData.token = r.result.token;
          wx.setStorageSync('token', r.result.token);
          wx.getLocation({
            type: 'gcj02',
            success (res) {
              console.log(res);
              that.setData({
                lat:res.latitude,
                lon:res.longitude,
                userinfo:r.result.userInfo
              })
              that.getDataList()
            },
            fail: function (res) {
              console.info('ready getLocation fail=' + JSON.stringify(res))
              // ----------------------------------------------------------
                // 判断用户是否拒绝了授权
                wx.getSetting({
                  success: res => {
                    if (typeof(res.authSetting['scope.userLocation']) != 'undefined' && !res.authSetting['scope.userLocation']) {
                      // 用户拒绝了授权
                      wx.showModal({
                        title: '提示',
                        content: '您拒绝了定位权限，将无法使用门店功能',
                        success: res => {
                          if (res.confirm) {
                            // 跳转设置页面
                            wx.openSetting({
                              success: res => {
                                if (res.authSetting['scope.userLocation']) {
                                  // 授权成功，重新定位
                                  wx.getLocation({
                                    type: 'gcj02',
                                    success: res => {
                                      that.setData({
                                        lat:res.latitude,
                                        lon:res.longitude,
                                        userinfo:r.result.userInfo
                                      });
                                      that.getDataList()
                                    },
                                    fail: function (res) {
                                      wx.showToast({
                                        title: '请开启手机定位服务以提供更好的体验',
                                        icon: 'none',
                                        duration: 5500,
                                      });
                                      console.error('获取位置信息失败：',res);
                                     }
                                  });
                                } else {
                                  // 没有允许定位权限
                                  wx.showToast({
                                    title: '您拒绝了定位权限，将无法使用门店功能',
                                    icon: 'none'
                                  });
                                }
                              }
                            });
                          }
                        }
                      });
                    }
                  }
                });
              // ------------------------------------------------------------
             }
          })
          // wx.setStorageSync('userinfo', r.result.userInfo)
          if(r.result.userInfo.get_phone == 0){
            t.globalData.show_tel_login = true;
          }else{
            wx.setStorageSync('tel', r.result.userInfo.phone)
            t.globalData.show_tel_login = false;
          }
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},
  //获取数据列表
  getDataList(isPage, page){
    var that = this
    var o = {
      lat:this.data.lat || 0,
      lng:this.data.lon || 0,
      page: this.data.page,
      size: this.data.pageSize,
      search:this.data.search
    }
    t.request('/store/storeList',o,function(e){
        // 刷新状态复位
        that.setData({refreshOpen: 0 });
        // 不加这个方法真机下拉会一直处于刷新状态，无法复位
        if (e.code == "200") {
          let resList = e.result,dataList = that.data.list;
          let list = resList.list;
          //将每一个值追加到list数组中

          if (isPage == true) {
            that.setData({
              list:dataList.concat(list),
              isLoading: false,
              last_page: resList.total,
              totalCount: resList.total,
            })
          }else{
            that.setData({
              list,
              isLoading: false,
              last_page: resList.total,
              totalCount: resList.total,
            })
          }
          // 设置地图标记点
          that.market()
        } else {
          wx.showToast({
            title: e.message,
            icon: 'none',
            duration: 2000
          })
        }
    })
  },
  // 设置地图标记点
  market(id ='',isOpen = false){
    let iconPath ='',width ='',height ='';
    let that = this
    let markers = []
    let mIndex = 0
    let lists = that.data.list
    for (let i = 0; i <lists.length; i++) {
      iconPath = (id==lists[i].store_id && isOpen)?'/images/position-on.png':'/images/position.png';
      width    = (id==lists[i].store_id && isOpen)?56:37;
      height   = (id==lists[i].store_id && isOpen)?64:42;
      if(id==lists[i].store_id){
        mIndex = i
      }
      const marker={
        id: lists[i].store_id,
        latitude: lists[i].lat,
        longitude: lists[i].lng,
        iconPath: iconPath,
        width: width,//地图icon的宽度
        height: height,//地图icon的高度
        zIndex:9999,
        callout: {      
          content: '  '+lists[i].title+' '+lists[i].distance+'km'+'  ',
          color: '#000',
          bgColor: '#fff',
          display:'ALWAYS',
          padding:6,
          borderRadius:20,
          borderWidth:1,
          borderColor:'#ccc'
        }
      }
      markers[i]=marker
    }
    // 增加个人点位
    markers[lists.length] ={
      id: -1,
      latitude: that.data.lat,
      longitude: that.data.lon,
      iconPath: '/images/map-myposition.png',
      width: 36,//地图icon的宽度
      height: 44,//地图icon的高度
      zIndex:9999,
      callout: {      
        content: '    我的位置    ',
        color: '#000',
        bgColor: '#fff',
        display:'ALWAYS',
        padding:6,
        borderRadius:10,
        borderWidth:1,
        borderColor:'#ccc'
      }
    }
    that.setData({ 
      markers,
      lat1:lists[mIndex].lat,
      lon1:lists[mIndex].lng,
     });
  },
  // 点击地图标记点
  navRoad: function (e) {
    // 重复点击
    if(e.detail.markerId == this.data.store_id){
        return;
    }
    console.log(e)
    this.setData({
      store_id: e.detail.markerId
    })
    this.market(e.detail.markerId,true)
  },
  // 关闭卡片
  card_colose (e){
    this.market(this.data.store_id)
    this.setData({
      store_id: ''
    })
    
  },
  // input
  bindKeyInput: function (e) {
    this.setData({
      search: e.detail.value
    })
  },
  // 自定义下拉刷新
  upRefresh(){
    this.setData({
      list:[],
      page:1,// 当前页码
      last_page:1,
      no_more: false, // 没有更多数据
      isLoading: true, // 是否正在加载中
    })
    this.getDataList()
  },
   /**
   * 下拉到底加载数据
   */
  bindDownLoad() {
    // 已经是最后一页
    console.log("翻页");
    console.log("page =",this.data.page)
    console.log("last_page =",this.data.last_page)
    if (this.data.page > this.data.last_page) {
      this.setData({
        no_more: true
      });
      return false;
    }
    // 加载下一页列表
    this.getDataList(true, ++this.data.page);
  },
  /**
   * 设置文章列表高度
   */
  setListHeight() {
    let systemInfo = wx.getWindowInfo(),
      rpx = systemInfo.windowWidth / 750, // 计算rpx
      tapHeight = Math.floor(rpx * 230), // tap高度
      scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
      console.log('scrollHeight',scrollHeight);
      this.setData({
        scrollHeight
      });
  },
  to_info(e){
    wx.navigateTo({
      url: '/pages/store/store?store_id='+e.currentTarget.dataset.id+'&dis='+e.currentTarget.dataset.dis,
    })
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {}

})